home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 04 - 1988 / 04.10 Oct 88 / Transfer DA Code Update / Common.pas next >
Encoding:
Pascal/Delphi Source File  |  1989-01-20  |  4.3 KB  |  204 lines  |  [TEXT/MPS ]

  1. (*******************************************************************
  2.     
  3.     Common.p
  4.     
  5.     Declarations for dynamic Transfer menu demo.
  6.     
  7.     (c) 1988, by Clifford Story & Attic Software
  8.     
  9. *******************************************************************)
  10.     
  11. unit Common;
  12.     
  13. (******************************************************************)
  14.  
  15.     interface
  16.         
  17. (******************************************************************)
  18.     
  19.     uses macintf;
  20.     
  21. (*******************************************************************
  22.     
  23.     Key codes:
  24.         
  25. *******************************************************************)
  26.     
  27.     const
  28.     
  29.         enterkey                =    3;
  30.         backspace            =    8;
  31.         tabkey                =    9;
  32.         returnkey            =    13;
  33.         clearkey                =    27;
  34.         leftarrow            =    28;
  35.         rightarrow            =    29;
  36.         uparrow                =    30;
  37.         downarrow            =    31;
  38.         periodkey            =    46;
  39.     
  40. (*******************************************************************
  41.     
  42.     Dialog items:
  43.         
  44. *******************************************************************)
  45.         
  46.         themask                =    3;
  47.         
  48. (*******************************************************************
  49.     
  50.     Low-memory globals:
  51.         
  52. *******************************************************************)
  53.     
  54.         applscratch            =    $A78;
  55.         bootdrive            =    $210;
  56.         bootdisk                =    $B34;
  57.         curappname            =    $910;
  58.         curdirstore            =    $398;
  59.         currenta5            =    $904;
  60.         findername            =    $2E0;
  61.         fsfcblen                =    $3F6;
  62.         grayrgn                =    $9EE;
  63.         iaznotify            =    $33C;
  64.         mbarheight            =    $BAA;
  65.         menuflash            =    $A24;
  66.         resload                =    $A5E;
  67.         rom85                    =    $28E;
  68.         sfsavedisk            =    $214;
  69.         sysmap                =    $A58;
  70.         windowlist            =    $9D6;
  71.     
  72. (*******************************************************************
  73.     
  74.     Program MDEF message:
  75.         
  76. *******************************************************************)
  77.         
  78.         msethandle            =    1001;
  79.         
  80. (*******************************************************************
  81.     
  82.     Program constants:
  83.         
  84. *******************************************************************)
  85.  
  86.         menunum                =    1001;
  87.             aboutitem        =    1;
  88.             atticitem        =    2;
  89.             transitem        =    4;
  90.             edititem            =    5;
  91.             finderitem        =    7;
  92.         
  93.         messagedialog        =    1001;
  94.         editdialog            =    1002;
  95.             editlist            =    4;
  96.             editdelete        =    5;
  97.             editline            =    6;
  98.         
  99.         mdefnum                =    1001;
  100.         ldefnum                =    1001;
  101.         trnsnum                =    1001;
  102.         
  103.         procid                =    $54524E53;        {'TRNS'}
  104.         
  105. (*******************************************************************
  106.     
  107.     Standard types:
  108.         
  109. *******************************************************************)
  110.  
  111.     type
  112.         
  113.         logical                =    boolean;
  114.         long                    =    longint;
  115.         
  116.         shortpointer        =    ^integer;
  117.         longpointer            =    ^long;
  118.  
  119.         QDrecord                =    record
  120.             randseed            :    long;
  121.             screenbits        :    bitmap;
  122.             arrow                :    cursor;
  123.             dkgray            :    pattern;
  124.             ltgray            :    pattern;
  125.             gray                :    pattern;
  126.             black                :    pattern;
  127.             white                :    pattern;
  128.             theport            :    grafptr;
  129.         end;
  130.         QDpointer            =    ^QDrecord;
  131.     
  132. (*******************************************************************
  133.     
  134.     Program types:
  135.         
  136. *******************************************************************)
  137.         
  138.         str27                    =    string[27];
  139.         str31                    =    string[31];
  140.         
  141.         tline                    =    record
  142.             volume            :    str27;
  143.             directory        :    long;
  144.             name                :    str31;
  145.         end;
  146.         
  147.         trecord                =    record
  148.             count                :    integer;
  149.             appl                :    array [1..100] of tline;
  150.         end;
  151.         tpointer                =    ^trecord;
  152.         thandle                =    ^tpointer;
  153.         
  154.         grecord                =    record
  155.             unitnumber        :    integer;
  156.             resfactor        :    integer;
  157.             menuheight        :    integer;
  158.             themenu            :    menuhandle;
  159.             menudata            :    thandle;
  160.             menudisk            :    integer;
  161.             menufile            :    integer;
  162.             newappl            :    tline;
  163.             choice            :    integer;
  164.         end;
  165.         gpointer                =    ^grecord;
  166.         ghandle                =    ^gpointer;
  167.         
  168.         mixedblock            =    record
  169.         case integer of
  170.             0    :    (volblock    :    paramblockrec);
  171.             1    :    (hfsblock    :    hparamblockrec);
  172.             2    :    (dirblock    :    wdpbrec);
  173.         end;
  174.  
  175. (******************************************************************)
  176.  
  177.     function QDglobals : QDpointer;
  178.         
  179. (******************************************************************)
  180.  
  181.     implementation
  182.         
  183. (******************************************************************)
  184.  
  185.     function QDglobals : QDpointer;
  186.         
  187.         var
  188.             thepointer        :    longpointer;
  189.         
  190.         begin
  191.             
  192.             thepointer := longpointer(currenta5);
  193.             thepointer := longpointer(thepointer^);
  194.             QDglobals := QDpointer(long(thepointer^)
  195.                             - sizeof(QDrecord) + sizeof(grafptr));
  196.         
  197.         end;
  198.     
  199. (******************************************************************)
  200.     
  201. end.
  202.     
  203. (******************************************************************)
  204.